/**
 * 
 * 顶部panel.
 * 
 * @param desktopName
 */
function getCurPortlets(data) {
	var data = [];
	for (var i = 1; i <= portalPanel.layoutInfo.columns; i++) {
		var c = Ext.getCmp('column111' + i);// Ext.getCmp() 获取列
		c.items.each(function(portlet) { // 遍历每列的portlet
					var tmpStr = portlet.id;
					data.push(tmpStr);
				});
	}
	return data;
}
// 针对鉴权的处理
function unauthorized(channelId) {
	if (Ext.getCmp(channelId)) {
		Ext.getCmp(channelId).hide();
	}
}
MyTopPanel = function() {
}
var curColumnLayout_view = null;
var curColumnLayout_edit = null;
var curColumnLayout_temp = null;
function getCurColumnLayout() {
	var data = [];
	for (var i = 1; i <= portalPanel.layoutInfo.columns; i++) {
		var c = Ext.getCmp('column111' + i);
		c.items.each(function(portlet) {
					data.push(portlet.name);
				});
	}
	return data;
}
// 针对右上角的“配置管理”按钮
function customDesktop() {
	curColumnLayout_edit = getCurColumnLayout();
	Ext.each(getCurPortlets(), function(tools) {
				Ext.getCmp(tools).getTool('pin').hide();
				Ext.getCmp(tools).getTool('maximize').hide();
				Ext.getCmp(tools).getTool('close').show();
			});
	global_page.mode = 'edit';
	Ext.getCmp('text_mode_id').setText('浏览模式');
	Ext.getCmp('save').show();
	Ext.getCmp('reset').show();
	Ext.dd.DragDropMgr.unlock();
	Ext.getCmp("cmp_west_container_edit").show();
	// 展开左边的树
	Ext.getCmp("cmp_west_container_edit").expand(true);
	Ext.getCmp("cmp_north_container_edit").show();
	Ext.getCmp("cmp_north_container_edit").expand(true);
	//var aa = new loadIframeContent();
}
function swith2view() {
	Ext.getCmp('cmp_north_container_edit').collapse(true);
	global_page.mode = 'view';
	Ext.getCmp('text_mode_id').setText('编辑模式');
	Ext.each(getCurPortlets(), function(tools) {
				Ext.getCmp(tools).getTool('pin').show();
				Ext.getCmp(tools).getTool('maximize').show();
				Ext.getCmp(tools).getTool('close').hide();
			});
	// Ext.dd.DragDropMgr.lock();
	Ext.getCmp('save').hide();
	Ext.getCmp('reset').hide();
	Ext.getCmp("cmp_west_container_edit").hide();
	// 收起
	Ext.getCmp("cmp_west_container_edit").collapse(true);
	// var aa = new loadIframeContent();
}
function swith2edit() {
	if (null == curColumnLayout_view) {
		curColumnLayout_view = getCurColumnLayout();
	}
	// 变成编辑模式＝view，编辑模式下，只能点击“view”变成浏览模式
	global_page.mode = 'edit';
	Ext.each(getCurPortlets(), function(tools) {
				Ext.getCmp(tools).getTool('pin').hide();
				Ext.getCmp(tools).getTool('maximize').hide();
				Ext.getCmp(tools).getTool('close').show();
			});
	// this.
	Ext.getCmp('text_mode_id').setText("浏览模式");// 点击前显示的是“编辑模式”按钮
	Ext.getCmp('save').show();
	Ext.getCmp('reset').show();
	// Ext.getCmp('tbseparator_1').items.get('mb').hide();
	Ext.dd.DragDropMgr.unlock();
	Ext.getCmp("cmp_west_container_edit").show();
	// 展开左边的树
	Ext.getCmp("cmp_west_container_edit").expand(true);
	// var aa = new loadIframeContent();
	curColumnLayout_edit = getCurColumnLayout();
}

Ext.extend(MyTopPanel, Ext.Panel, {
	tbar : [{
				id : 'tbfill_id',
				xtype : 'tbfill'
			}, {
				id : 'tbseparator_1',
				xtype : 'tbseparator'
			}, {
				id : 'reset',
				text : "恢复默认",
				handler : function(e) {
					var emptyJson = {};
					Ext.Ajax.request({
								url : model.treeModelUrl,
								method : 'post',
								headers : 'Content-Type: text/json',
								jsonData : emptyJson,
								success : function(response, op) {
									document.location.reload();
									Ext.Msg.alert("提示：", "恢复默认成功！");
								},
								failure : function(response, op) {
									Ext.Msg.alert('错误', response.responseText);
								}
							});
				}
			}, {
				id : 'save',
				text : "保存定制",
				handler : function(e) {
					//已经保存过了，在直接点击“模式切换”时，就不会有是否保存的提示了.
					curColumnLayout_edit = getCurColumnLayout();
					saveCurLayout(portalPanel.homepageData);
				},
				scope : this
			}, {
				id : 'text_mode_id',
				text : "编辑模式",
				handler : function(e) {
					if (global_page.mode == 'view') {// 如果现在是浏览模式，只能去点击编辑按钮edit，以变成编辑模式
						swith2edit();
					} else if
					// 如果现在是编辑模式，只能去点击浏览模式按钮view，以变成浏览模式
					(global_page.mode == 'edit') {
						// 只要点击“浏览模式”切换按钮，就会先做判断提示，再根据用户的选择做出反应。
						if (null == curColumnLayout_edit) {
							curColumnLayout_edit = getCurColumnLayout();
						}
						curColumnLayout_view = getCurColumnLayout();
						if (curColumnLayout_edit.reverse().toString() == curColumnLayout_view
								.reverse().toString()) {
							// 两种模式相同，直接操作了。
							// Ext.getCmp("cmp_north_container_edit").hide();
							Ext.getCmp('cmp_north_container_edit')
									.collapse(true);
							global_page.mode = 'view';
							Ext.getCmp('text_mode_id').setText('编辑模式');// 点击前显示的是“浏览模式”按钮
							// Ext.dd.DragDropMgr.unregAll();//搞定了拖拽的问题，但是关闭按钮还是生效的
							Ext.each(getCurPortlets(), function(tools) {
										Ext.getCmp(tools).getTool('pin').show();
										Ext.getCmp(tools).getTool('maximize')
												.show();
										Ext.getCmp(tools).getTool('close')
												.hide();
									});
							// Ext.dd.DragDropMgr.lock();
							Ext.getCmp('save').hide();
							Ext.getCmp('reset').hide();
							Ext.getCmp("cmp_west_container_edit").hide();
							// 收起
							Ext.getCmp("cmp_west_container_edit")
									.collapse(true);
							//var aa = new loadIframeContent();
							curColumnLayout_edit = getCurColumnLayout();
						} else {
							Ext.Msg.show({
								title : '提示:',
								msg : '您刚才修改了频道，要保存修改吗？',
								buttons : {
									yes : true,
									no : true
								},
								fn : function(btn) {
									if (btn == 'yes') {
										saveCurLayout(portalPanel.homepageData);
										swith2view();
									} else {
										swith2view();
									}
								}
							})
						}
					}
				}
			}]
});